package entities.xml;

import com.thoughtworks.xstream.annotations.XStreamAlias;

import entities.ItemListaPrecios;
import entities.Rodamiento;

@XStreamAlias("ItemListaPrecios")
public class ItemListaPreciosXML implements ExchangeFormatEntity{
	@XStreamAlias("codigo")
	private String codigo;
	@XStreamAlias("cantidad")
	private Integer cantidad;
	@XStreamAlias("caracteristicas")
	private String caracteristicas;
	@XStreamAlias("marca")
	private String marca;
	@XStreamAlias("origen")
	private String origen;
	@XStreamAlias("preicoUnitario")
	private Double precioUnitario;
	
	public ItemListaPreciosXML(){};
	
	public ItemListaPreciosXML(String codigo, Integer cantidad,
			String caracteristicas, String marca, String origen,
			Double precioUnitario) {
		super();
		this.codigo = codigo;
		this.cantidad = cantidad;
		this.caracteristicas = caracteristicas;
		this.marca = marca;
		this.origen = origen;
		this.precioUnitario = precioUnitario;
	}

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	public Integer getCantidad() {
		return cantidad;
	}

	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}

	public String getCaracteristicas() {
		return caracteristicas;
	}

	public void setCaracteristicas(String caracteristicas) {
		this.caracteristicas = caracteristicas;
	}

	public String getMarca() {
		return marca;
	}

	public void setMarca(String marca) {
		this.marca = marca;
	}

	public String getOrigen() {
		return origen;
	}

	public void setOrigen(String origen) {
		this.origen = origen;
	}

	public Double getPrecioUnitario() {
		return precioUnitario;
	}

	public void setPrecioUnitario(Double precioUnitario) {
		this.precioUnitario = precioUnitario;
	}

	@Override
	public ItemListaPrecios toModelEntity() {
		ItemListaPrecios itemListaPrecio = new ItemListaPrecios();
		Rodamiento rodamiento = new Rodamiento();
		rodamiento.setCaracteristicas(this.getCaracteristicas());
		rodamiento.setCodigo(this.getCodigo());
		rodamiento.setMarca(this.getMarca());
		rodamiento.setOrigen(this.getOrigen());
		itemListaPrecio.setRodamiento(rodamiento);
		itemListaPrecio.setCantidad(this.getCantidad());
		itemListaPrecio.setPrecio(new Float(this.getPrecioUnitario()));
		return itemListaPrecio;
	}

	@Override
	public void fromModelEntity(Object obj) {
		ItemListaPrecios itemListaPrecio = (ItemListaPrecios) obj;
		this.setCantidad(itemListaPrecio.getCantidad());
		this.setCaracteristicas(itemListaPrecio.getRodamiento().getCaracteristicas());
		this.setCodigo(itemListaPrecio.getRodamiento().getCodigo());
		this.setMarca(itemListaPrecio.getRodamiento().getMarca());
		this.setOrigen(itemListaPrecio.getRodamiento().getOrigen());
		this.setPrecioUnitario(new Double(itemListaPrecio.getPrecio()));
		
	}
}
